home *** CD-ROM | disk | FTP | other *** search
-
- jpegAGA 1.1 von Günther Röhrich
- *******************************
-
-
- jpegAGA ist ein Anzeigeprogramm für JPEG-Bilder mit der derzeit besten
- Bildqualität. (sofern eine map-Datei für das Bild vorhanden ist) Zur Anzeige
- ist der AGA-Chipsatz, ein 68020 Prozessor (oder höher) sowie OS 3.0 (oder höher)
- erforderlich. Es wird der HAM8-Modus verwendet, lediglich die Graustufendar-
- stellung erfolgt im 256-Farben-Modus.
-
- Wenn zu dem JPEG-Bild eine vorberechnete Farbpalette in Form einer Datei
- mit der Endung .map vorhanden ist dann erfolgt die Anzeige in einer Bild-
- qualität, die von keinem anderen Anzeigeprogramm bisher erreicht wird.
- Mit Hilfe der beigefügten Programme und des Shell-Skripts kann zu jedem
- Bild eine solche map-Datei, die lediglich 198 Bytes lang ist, erzeugt werden.
-
- Falls keine map-Datei vorhanden ist, dann erfolgt die Anzeige in schlechterer
- Qualität. Für Graustufendarstellung wird diese Datei nicht benötigt.
-
-
- Die Vorteile von jpegAGA:
-
- - sehr gute Bildqualität (besser als bei allen anderen Anzeigeprogrammen)
- - vollständiger Quelltext ist vorhanden
- - größtmögliche Kompatibilität zu allen JPEG-Bildern da zur Dekodierung der
- JPEG-Quelltext der Independent JPEG Group im Originalzustand verwendet wird
- - hohe Geschwindigkeit durch Verwendung des GNU C Compilers und des direkt in
- Assembler programmierten 24-bit-RGB nach HAM8 Wandlers
- - Unterstützung des Graustufen-JPEG Formats sowie Anzeige von Farbbildern in
- Graustufen
- - Auswahl des Bildschirmmodus nach der Größe des Bildes
-
-
-
- Bevor ich mit der Anleitung anfange muß ich aber noch folgendes loswerden:
-
- Dieses Programm ist Public Domain (d.h. man braucht nichts zu bezahlen). Der
- beigefügte Quelltext kann nach Belieben verwendet werden. Für den JPEG-Quell-
- text sind die Hinweise in der Datei README zu beachten.
-
-
- Bedanken möchte ich mich noch bei folgenden Personen:
-
- The Independent JPEG Group (jpeg-info@uunet.uu.net):
- für den Quelltext zum Dekodieren des JPEG-Bildformats
-
- Free Software Foundation, Inc. sowie allen Mitwirkenden für die Entwicklung
- des GNU C Compilers und der weiteren Software
-
- ***********************************************************************
-
- So, nun sollte ich mal zum Wesentlichen kommen:
-
-
- Installation:
- *************
-
- Die Programme aus dem bin-Verzeichnis können in ein beliebiges Verzeichnis
- kopiert werden, sie sollten sich aber im Suchpfad der Shell befinden. Die
- Endung der Dateien gibt an für welchen Prozessor sie gedacht sind, nach der
- Installation sollte man aber die Endungen entfernen.
-
- Endung 000: 68000 oder 68010 Prozessor (läuft auch auf allen anderen)
- Endung 020: 68020 oder höhere Prozessoren
-
- Die Programme wurden mit GNU C 2.5.8 übersetzt und benötigen daher die
- ixemul.library im LIBS: Verzeichnis. (Version 40 oder höher)
-
- Für die Verwendung des Shell-Skripts CreateMap muß JPEGTMP: mit einem assign-
- Befehl an ein Verzeichnis auf einer Festplatte mit ausreichend Speicherplatz
- zugewiesen werden. (z.B. assign JPEGTMP: HD:T) Die Programme djpeg und cjpeg
- greifen unter Umständen ebenfalls darauf zu.
- Am Besten schreibt man diesen Befehl in die User-Startup Datei damit er nach
- jedem Neustart ausgeführt wird.
-
- Das Shell-Skript CreateMap muß in das S: Verzeichnis kopiert werden. Es setzt
- voraus daß sich die Programme mit den Namen djpeg sowie ppm2AGA im Suchpfad der
- Shell befinden und daß ein JPEGTMP: Verzeichnis existiert.
-
-
- Der Aufruf von jpegAGA geschieht wie folgt:
-
- jpegAGA Eingabedatei Optionen
-
-
- Eingabedatei:
- *************
-
- Die JPEG-Datei, die gelesen soll. Graustufenbilder werden gesondert behandelt
- und werden direkt ohne aufwendige Umrechnung auf einem 256-Farben-Bildschirm
- angezeigt. Leider gibt es auch Graustufenbilder die fälschlicherweise als
- Farbbilder codiert wurden. In diesem Fall sollte man die -GRAY Option verwen-
- den. (Und schick eine Beschwerde an denjenigen, der das Bild erzeugt hat.)
- Bei der Anzeige in Farbe wird, falls vorhanden, die map-Datei des jeweiligen
- Bildes mit verwendet. Die map-Datei muß den Namen des Bildes mit der zugefügten
- Endung .map haben. Zur Unterstützung des PC-Dateisystems wird aber auch ein
- Namen unterstützt, der sich durch Ersetzen der Endung (der Text nach dem
- letzten Punkt) durch "map" ergibt.
- Wenn eine map-Datei gefunden wurde wird dies im Konsolenfenster mitgeteilt.
-
- Beispiele für Dateinamen:
-
- Bilddatei: picture.jpeg map-Datei: picture.jpeg.map oder picture.map
- pic1.jpg map-Datei: pic1.jpg.map oder pic1.map
-
- Map-Dateien werden außerdem noch in dem Verzeichnis gesucht, auf das die
- Umgebungsvariable MAPDIR weist. (Neu in Version 1.1)
-
-
- Optionen:
- *********
-
- Die Optionen dürfen in beliebiger Reihenfolge stehen, die Groß- und Klein-
- schreibung ist beliebig. Werden Optionen weggelassen dann werden interne
- Vorgabewerte angenommen.
-
-
-
- -GRAY
-
- Die Anzeige erfolgt stets im Graustufen Modus.
-
-
- -BS
-
- Es wird ein sog. "block-smoothing" verwendet. Diese Option ist nur dann anzu-
- wenden wenn die Codierung mit sehr niedriger Qualität erfolgte. Auf dem Bild-
- schirm sind dann einzelne Blöcke mit nahezu konstanter Farbe zu sehen. Bei Ver-
- wendung dieser Option werden die Kanten dieser Blöcke etwas verwaschen damit
- sie nicht so auffallen.
- Die Option sollte tatsächlich nur in diesem Fall verwendet werden.
-
-
- -VGA
-
- Beim Anzeigen des Bildes wird der VGA-Monitortreiber (auch Multiscan genannt)
- verwendet.
- Die Option -VGA ist dann zu setzen wenn bekannt ist, daß das Bild für die An-
- zeige auf einem PC oder auf einem anderen Rechner mit quadratischer Auflösung
- des Bildschirms vorgesehen war. (Dies trifft für fast alle JPEG-Bilder zu.)
- Apropos quadratische Auflösung: Hier gibt es leider viele Mißverständnisse so
- daß ich näher darauf eingehen werde:
-
- Unter "quadratisch" ist nicht gemeint daß auf dem Bildschirm in horizontaler
- und vertikaler Richtung genau gleich viele Bildpunkte vorhanden sind.
- (z.B. 1024x1024) Es ist gemeint daß ein Quadrat bestehend aus z.B. 100x100
- Bildpunkten auf dem Monitor ebenfalls als Quadrat zu sehen ist. Da das Seiten-
- verhältnis einer üblichen Bildröhre 4:3 beträgt (angelehnt and die internatio-
- nale Fernsehnorm) muß auch die horizontale und vertikale Auflösung Vielfache
- davon betragen. (z.B. 640x480 da
-
- 640 4
- --- = - )
- 480 3
-
- Nur so ist gewährleistet daß ein solches Bild verzerrungsfrei dargestellt
- wird.
-
-
- -SUPER72 (Neu in Version 1.1)
-
- Diese Option wird nur dann akzeptiert wenn auch -VGA angegeben wurde. Bei sehr
- großen Bildern wird dann der SUPER72 Bildschirmmodus verwendet. Bei vielen
- Monitoren muß aber der SUPER72-Monitortreiber angepaßt werden (z.B. mit dem
- Programm "moned") damit sich eine quadratische Auflösung ergibt.
-
-
-
- Außerdem habe ich das Programm "djpeg" beigelegt, mit dem man JPEG-Bilder in
- das ppm-Format umwandeln kann. (Es ist auch zur Erzeugung der map-Dateien er-
- forderlich)
-
- Aufruf: djpeg Eingabedatei Ausgabedatei
-
- Bei der direkten Umwandlung in das GIF-Format muß man JPEGTMP: mit einem assign-
- Befehl zuweisen (z.B. assign JPEGTMP: HD:T) da djpeg eventuelle temporäre
- Dateien dorthin ablegt. Alles weitere ist der zugehörigen Anleitung zu ent-
- nehmen. Wenn ich mal Zeit habe werde ich die JPEG-Routinen in ppm2AGA einbauen
- so daß dieses Programm dann nicht mehr benötigt wird.
-
- Der Vollständigkeit halber ist noch das Programm "cjpeg" vorhanden, mit dem man
- selber JPEG-Dateien erzeugen kann.
- Eine Beschreibung von djpeg und cjpeg findet man in der Datei USAGE.
-
-
- Erzeugung der map-Dateien
- *************************
-
- Diese Dateien sind unbedingt erforderlich damit die Anzeige in der best-
- möglichen Qualität erfolgt. Sie werden im Normalfall durch das Shell-Skript
- CreateMap erzeugt. Der Aufruf lautet:
-
- CreateMap Bilddatei
-
- Bei erfolgreicher Ausführung wird eine map-Datei mit korrektem Namen erzeugt.
- (auch auf PC-Dateisystemen) Man kann auch mehrere Dateien mit einem Aufruf er-
- zeugen. So werden z.B. durch den Befehl
-
- SPat CreateMap pictures/#?.jpg
-
- alle Bilder mit der Endung .jpg im Verzeichnis pictures bearbeitet.
-
- Falls es nicht möglich ist, die map-Datei an der gleichen Stelle wie das Bild
- abzuspeichern dann wird die map-Datei in dem Verzeichnis abgelegt, auf das die
- Umgebungsvariable MAPDIR weist. jpegAGA 1.1 wird sie dann ebenfalls dort
- suchen. Das Setzen der Umgebungsvariablen kann z.B. erfolgen mit dem Befehl:
-
- setenv MAPDIR HD:tempdir
-
- Die Variable geht dann allerdings nach einem Zurücksetzen des Rechners verlo-
- ren. Man kann sie dauerhaft sichern mit dem Befehl:
-
- copy ENV:MAPDIR ENVARC:
-
- Somit ist es möglich auch Bilder von einer CD-ROM in optimaler Qualität anzu-
- zeigen.
-
-
- Bei Auftauchen von Problemen ist folgendes zu prüfen:
-
- - Wurde wie im Abschnitt "Installation" beschrieben alles erforderliche
- installiert ?
-
- Benötigt werden die Programme djpeg sowie ppm2AGA die sich im Suchpfad der
- Shell unter diesem Namen befinden müssen. Im LIBS: Verzeichnis muß sich die
- ixemul.library befinden. Das Shell-Skript selbst muß im S: Verzeichnis sein.
-
- Achtung: - ppm2AGA muß die Version 1.4 oder höher aufweisen
- - nur djpeg aus dieser Distribution verwenden
-
-
- - Ist das Verzeichnis JPEGTMP: korrekt zugewiesen ?
-
-
- - Reicht der Speicherplatz auf der Festplattenpartition, auf die JPEGTMP:
- weist, aus ?
-
- Bei sehr großen Bildern können sogar mehr als 10MB benötigt werden.
-
-
- - Ist genug Arbeitsspeicher vorhanden ?
-
- Falls nicht kann man den benötigten Arbeitsspeicher reduzieren indem man beim
- Aufruf des Shell-Skripts die Option -M0 angibt. (Näheres siehe Beschreibung
- von ppm2AGA)
-
- Beispiel: CreateMap pic.jpg -M0 oder SPat CreateMap #?.jpg -M0
-
- Der erforderliche Arbeitsspeicher ist bei Verwendung der -M0 Option nahezu
- unabhängig von der Größe des Bildes.
-
- - Ist die Diskette, auf der sich das JPEG-Bild befindet, schreibgeschützt oder
- ist zu wenig Speicherplatz vorhanden ?
-
- - Wurde die Umgebungsvariable MAPDIR korrekt gesetzt ? Man kann dies überprüfen
- mit dem Befehl: getenv MAPDIR
-
-
- Das Shell-Skript kann stets durch Eingabe von CTRL-C abgebrochen werden.
- Temporäre Dateien im Verzeichnis JPEGTMP: werden bei Abbruch oder Beendigung
- automatisch gelöscht.
-
-
-
- Der Anzeigebildschirm
- *********************
-
- Durch Bewegen der Maus kann der Bildausschnitt verschoben werden, falls das
- Bild größer als der Overscan-Bereich ist. Bei Farbanzeige treten leider Stö-
- rungen am linken Bildrand auf, die durch das HAM-Verfahren bedingt sind.
-
- Der Bildschirm hat außerdem eine voll funktionsfähige Ziehleiste sowie einen
- Vordergrund/Hintergrund-Schalter, die allerdings unsichtbar sind.
-
- Durch Druck auf die rechte Maustaste wird die Anzeige beendet bzw. abgebrochen.
- Da auf die linke Maustaste nicht reagiert wird kann man während der Berechnung
- des Bildes einen anderen Bildschirm aktivieren und erst später den Anzeigebild-
- schirm durch Drücken der linken Maustaste erneut aktivieren.
-
-
-
-
- Solltest Du weitere Fragen haben so kannst Du mir jederzeit schreiben. Ich
- werde mich bemühen alle Zuschriften zu beantworten.
- Falls Du einen Fehler im Programm entdecken solltest (oder Mungwall/Enforcer-
- Meldungen) so bitte ich ebenfalls um eine Benachrichtigung.
-
-
-
- Entstehungsgeschichte
- *********************
-
- 1.0 - 3. Juni 1994
-
- - erste veröffentlichte Version
-
- 1.1 - 5. Oktober 1994
-
- - die Option -SUPER72 wurde hinzugefügt
-
- - beim Schließen des Grafikbildschirms ist jetzt kein Flackern mehr zu sehen
- und die Verzögerung ist geringer
-
- - map-Dateien werden auch in dem Verzeichnis gesucht, auf das die Umge-
- bungsvariable MAPDIR weist
-
- - falls keine map-Datei gefunden wurde wird der Benutzer darauf hingewiesen
- daß er eine erzeugen sollte
-
- - es werden jetzt beliebig lange Dateinamen (inklusive Pfad) akzeptiert
-
-
- Aufruf
- ******
-
- Wie Du sicher gemerkt hast bietet das Programm bislang nicht sehr viel, es gibt
- noch viel zu tun. Meine Zeit ist leider begrenzt. (Ich studiere derzeit Elektro-
- technik an der Uni Stuttgart.) Aus diesem Grund suche ich weitere Programmierer
- die bereit sind, mit mir zusammenzuarbeiten sowie Beta-Tester für die fertigen
- Programme. Wenn Du mitmachen willst dann melde dich bitte. Ich werde dann auch
- eine ausführliche Beschreibung des Quelltextes erstellen. Einige Projekte
- können aber auch völlig unabhängig voneinander realisiert werden.
-
- Für die Neukompilierung von ppm2AGA ist das newiff-Paket von Commodore zwingend
- erforderlich. Die Version 37 ist auf der Fish-Disk 705 zu finden, die Version 39
- ist auf den "3.1 Amiga Developer Update" - Disketten vorhanden. (Bezugsquelle
- siehe unten) oder auch im Aminet.
-
- Als nächstes habe ich vor einen PhotoCD-Anzeiger/Konverter mit der Bildqualität
- von jpegAGA/ppm2AGA zu programmieren. Mit den Routinen die ich bereits habe
- dürfte dies kein Problem sein. Es wird ebenfalls ein frei kopierbares Programm
- sein und ich werde auch den vollständigen Quelltext veröffentlichen.
- Wenn Du Interesse an einem solchen Programm hast dann wäre es nett wenn Du mir
- einige PhotoCDs zu Testzwecken leihen würdest. Du bekommst sie zurück zusammen
- mit meinem Anzeiger/Konverter sobald er läuft. Falls Du sie mir schenken soll-
- test dann freut es mich natürlich noch mehr und als Belohnung wird Dein Name
- in der Anleitung erwähnt werden. (Und Du bekommst natürlich auch das Programm
- zugeschickt.)
-
-
- Alle Zuschriften sind an die folgenden Adressen zu richten:
-
- Elektronische Post: Normale Post:
- ******************* *************
-
- Guenther@studbox.uni-stuttgart.de Günther Röhrich
- (Internet EMAIL) Lerchenbergstr. 4
- D-73733 Esslingen
-
-
-
- Falls Du innerhalb von drei Wochen keine Antwort auf eine EMAIL bekommst
- so versuche es über die normale Post noch einmal.
-
-
- Bezugsquellen
- *************
-
- Gute Bilder im JPEG-Format findet man in rauhen Mengen in:
-
- ftp.uni-stuttgart.de in pub/graphics/pictures
-
-
- Das newiff-Paket, Version 39, findet man in:
-
- ftp.uni-stuttgart.de in pub/systems/amiga/aminet/gfx/misc
-
- sowie auf allen anderen Aminet-Servern. Wenn Du dazu keinen Zugang hast dann
- kannst Du es auch direkt von mir bekommen.
-
-
- Das "3.1 Amiga Developer Update" ist erhältlich bei:
-
- Hirsch & Wolf oHG
- Mittelstr. 33
- D-56564 Neuwied
- Tel.: 02631-8399-0
- Fax: 02631-839931
-
- und kostet 50 DM. Da Commodore aber inzwischen aufgelöst ist weiß ich nicht ob
- und wie lange es noch verfügbar ist.
-
- Siehe auch die Datei "Info.Developer"
-